Skip to content

Release/3.1.1#13

Merged
luigilink merged 4 commits into
mainfrom
release/3.1.1
May 11, 2026
Merged

Release/3.1.1#13
luigilink merged 4 commits into
mainfrom
release/3.1.1

Conversation

@luigilink

@luigilink luigilink commented May 11, 2026

Copy link
Copy Markdown
Owner

Pull Request (PR) description

Release 3.1.1

Summary

This release improves ProductUpdate reliability and clarifies the updated execution model (local execution, no InstallAccount requirement for ProductUpdate).
It also hardens reboot detection, fixes a runtime error in local version collection, updates documentation, and extends test coverage to prevent regressions.

Why

We observed ProductUpdate failures caused by:

  • Incomplete reboot detection (only one pending-reboot marker checked).
  • Runtime error in Get-SPSLocalVersionInfo due to missing Clear-ComObject helper.
  • Drift between code behavior and documentation around InstallAccount/ProductUpdate and legacy MOF cleanup.
  • What Changed
  • ProductUpdate behavior and reliability
  • ProductUpdate now runs update binaries without InstallAccount.
  • Reboot detection is now consolidated and checks multiple pending-reboot indicators.
  • Reboot warning output now includes detected markers for faster troubleshooting.
  • Legacy ProductUpdate finally/MOF cleanup flow was removed.
  • Module fixes
  • Added missing Clear-ComObject helper used by Get-SPSLocalVersionInfo.
  • Added Test-SPSPendingReboot helper for centralized reboot-state evaluation.
  • Documentation updates
  • Updated ProductUpdate examples to remove InstallAccount usage.
  • Updated guidance to reflect local ProductUpdate execution.
  • Removed stale references to temporary MOF cleanup after ProductUpdate.
  • Versioning
  • Bumped release version references from 3.1.0 to 3.1.1 in script metadata, changelog, release notes, and tests.
  • Test Coverage
  • Added/updated tests for reboot detection helper and export validation.
  • Added regression test ensuring Start-SPSProductUpdate does not expose InstallAccount.
  • Added regression test ensuring legacy ProductUpdate MOF cleanup code is not reintroduced.
  • Updated version assertion tests to 3.1.1.
  • Verified test suites pass in current CI/local runs (with existing platform-gated skips).

Breaking Changes

None.

Operational Notes

ProductUpdate should now fail earlier with explicit reboot marker details when a reboot is pending.
InstallAccount remains required for Install mode and scheduled-task scenarios, but not for ProductUpdate mode.

Task list

  • Added an entry to the change log under the Unreleased section of the
    file CHANGELOG.md. Entry should say what was changed and how that
    affects users (if applicable), and reference the issue being resolved
    (if applicable).
  • Added/updated documentation and descriptions where appropriate?
  • New/changed code adheres to [Style Guidelines]?

- Added `Test-SPSPendingReboot` function for reboot detection.
- Introduced `Clear-ComObject` helper for COM object management.
- Removed `InstallAccount` requirement from `ProductUpdate` action.
- Enhanced error handling and logging in `SPSUpdate.ps1`.
- Updated tests to reflect changes and ensure coverage for new functionality.
@github-actions

github-actions Bot commented May 11, 2026

Copy link
Copy Markdown

Pester Test Results

75 tests   75 ✅  7s ⏱️
17 suites   0 💤
 1 files     0 ❌

Results for commit 338f127.

♻️ This comment has been updated with latest results.

@luigilink luigilink merged commit 542a33c into main May 11, 2026
3 checks passed
@luigilink luigilink deleted the release/3.1.1 branch July 9, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant